App({
    onLaunch: function() {
      // 当小程序初始化完成时触发（全局只触发一次）
      // 可以在这里进行一些初始化操作，如获取用户信息、登录等
      console.log('App Launch');
    },
  
    onShow: function(options) {
      // 当小程序启动，或从后台进入前台显示时触发
      console.log('App Show');
    },
  
    onHide: function() {
      // 当小程序从前台进入后台时触发
      console.log('App Hide');
    },
  
    onError: function(msg) {
      // 当小程序发生脚本错误，或者 API 调用失败时触发
      console.log('App Error: ', msg);
    },
  
    onPageNotFound(res) {
      // 当用户打开的小程序页面不存在时的处理
      wx.redirectTo({
        url: 'pages/index/index'
      });
    },
    
    globalData: {
      // 可以在这里定义全局变量
      userInfo: null,
      token: null,
      isGrant: false,
      sessionKey:null
    },

    domain_path: 'https://smokeventilation.weifuit.cn/',
    api_path: 'miniapi',

    //用户授权
    getUserInfo: function(callback) {
      const that = this;
      if (this.globalData.userInfo && this.globalData.isGrant) {
        // 如果用户信息已存在，直接调用回调函数
        typeof callback === "function" && callback(this.globalData.userInfo);
      } else {
        // 调用 wx.getUserProfile 获取用户信息
        wx.getUserProfile({
          desc: '用于完善用户资料', // 填写用途说明
          success: (res) => {
            that.globalData.userInfo = res.userInfo;
            that.globalData.isGrant = true;
            // 调用回调函数并传入用户信息
            typeof callback === "function" && callback(that.globalData.userInfo);
          },
          fail: (err) => {
            wx.showToast({
              title: err,
              icon: 'none'
            });
          }
        });
      }
    },

    //用户登录
    getUserLogin: function(callback) {
      wx.login({
        success: function(res) {
          if (res.code) {
            // 调用回调函数并传入用户信息
            typeof callback === "function" && callback(res.code);
          } else {
            wx.showToast({
              title:  res.errMsg,
              icon: 'none'
            });
          }
        },
        fail: (err) => {
          wx.showToast({
            title: err,
            icon: 'none'
          });
        }
      });  
    },
  });
  